package com.foreknow.proxy;

import java.lang.reflect.Proxy;

public class MyProxyFactory {
  /**
   * Proxy
   * 它是在程序运行的时候生成的类，在生成的时候必须要提供一组Interface给它，然后该class就宣称它实现了这
   * 些接口。
   * 当然这个Proxy不会替你做实质性的工作，在生成它的实例的时候必须提供一个handler,由它接管实际的工作。
   * 注意：在使用动态代理的时候，我们必须实现InvocationHandler接口
   * @param obj
   * @return
   */
  public static Object getProxy(Object obj){
    ProxyHandle ph = new ProxyHandle();
    //要传入目标对象
    ph.setTarget(obj);
    return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),ph);
}
}
